12
תגובות

"DOCUMENT_ROOT/../path"

פתח OrelBeY ,
ראיתי מקום שבו כתבו את הקוד הבא:
$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt

לפי מה שהבנתי, הנתיב הזה מפנה לקובץ מחוץ ל-public_html, כך שאפשר לגשת אליו רק ישירות מהשרת, ולא מהרשת. מה שלא הבנתי זה למה מוביל השילוב של שתי הנקודות אחרי תיקיית השורש (או מה שזה לא יהיה). זה לא אמור להיות תיקייה אחת מעל תיקיית השורש? איך זה אפשרי?

12 תשובות

avatar ענה OrelBeY ב 10 ליולי 2012 #

*תיקון הקוד המלא (לא שזה משנה... D:)

$DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT'];
$fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab');

avatar ענה raslin ב 10 ליולי 2012 #

ממליץ להשתמש דווקא ב

dirname(__FILE__)

avatar ענה raslin ב 10 ליולי 2012 #

2 הנקודות זה ללכת תיקיה אחת אחורה

avatar ענה OrelBeY ב 10 ליולי 2012 #

אוקיי.
השאלה שלי היא לאן מובילה התיקייה אחת אחורה. אולי לא בדיוק הבנתי את $_SERVER['DOCUMENT_ROOT'], כי אני לא מבין איך אפשר ללכת תיקייה אחת אחורה מתיקיית השורש...

avatar ענה raslin ב 10 ליולי 2012 #

יש תיקיות של לינוקס,
אז זה הולך לפי זה....
האתר שלך יושב עמוק בתוך תיקיות של לינוקס, תיקיית השורש כמו שאת האומר זה רק הנתיב הראשי של הדומיין

avatar ענה OrelBeY ב 10 ליולי 2012 #

אבל אם המטרה הייתה שהקובץ ימוקם במקום שבו לא יוכלו לגשת אליו מהרשת, למה צריך ללכת עוד תיקייה אחורה מתיקיית השורש?

avatar ענה raslin ב 10 ליולי 2012 #

לפעמים אתה משתמש בסיפריות או קבצים שאתה לא רוצה שיתערבבו לך עם התיקיה של האפליקציה

avatar ענה iiddaannyy ב 10 ליולי 2012 #

תדפיס את DOCUMENT_ROOT ותראה לאן זה מוביל, ואז גם תראה שאפשר לעלות תיקיה מעל. (:

avatar ענה OrelBeY ב 10 ליולי 2012 #

לא חשבתי על זה. D:
תודה רבה לכם. :)

avatar ענה OrelBeY ב 11 לאוגוסט 2012 #

שאלה נוספת, לא פשוט יותר לכתוב:

$fp = fopen("/../orders/orders.txt");

במקום
$fp = fopen("$DOCUMENT_ROOT/../orders/orders.txt");

?

avatar ענה intval ב 13 לאוגוסט 2012 #

זה דברים שונים :)
קודם כל / זה כמו C: ב windows
שנית גם אם היית כותב פשוט

fopen(../orders...

הייתה עולה למעלה מהתיקיה הנוכחית שבה נמצא הסקריפט, והוא לאט דווקא נמצא בתוך document root . הסקריפט הנוכחי יכול להימצא בתוך תיקיה שבתוך תיקיה שבתוך document_root ואז היית צריך להעלות 3 תיקיות למעלה.

avatar ענה OrelBeY ב 13 לאוגוסט 2012 #

אה, לא ידעתי את הדבר הראשון שאמרת. חשבתי שזה עובד כמו קישור רגיל בדף אינטרנט. :)
תודה. ^_^